iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Security

picoCTF 刷題分享系列 第 19

picoCTF 刷題分享---Day 19(刷題去)

  • 分享至 

  • xImage
  •  

各位好又見面了,根本沒多久啊,每天一直都見面阿🤣🤣那我們一樣趕快解決完這個系列我再去找找好玩的(?


題目:vault-door-6
解題思路:

  • 首先大致檢查一下發現前面都是一樣的處理方法
  • 所以一樣去看checkPassword()
  • 會看到一個byte[] myBytes;
  • 查看關鍵的檢查迴圈
    https://ithelp.ithome.com.tw/upload/images/20240928/20164155ap7rnqlUgm.png
  • 會看到((passBytes[i] ^ 0x55) - myBytes[i]) != 0的 if 條件
  • 可以來解析一下,首先當運算完後不等於0會return 0
  • 所以意思是要等於零才是對的
  • 所以(passBytes[i] ^ 0x55) 就會等於 myBytes[i] ----(A)
    • 在這裡有個關鍵的觀念要知道^(XOR,不同等於1 | 相同等於0
      • 所以當我們有一個A = 1001
      • B = 0101
      • 則A ^ B = 1100
      • 在做一次(等同A ^ B ^ B
      • A ^ B ^ B = 1100 ^ 0101 = 1001
      • 結論:當我對某個東西連續做兩次的XOR運算就會等同原本的數值
  • 所以我把式(A)兩邊都做^0x55就會變成
  • (passBytes[i] ^ 0x55)^ 0x55 == myBytes[i]^ 0x55(又等於
  • passBytes[i] == myBytes[i]^ 0x55(換邊)
  • myBytes[i]^ 0x55 == passBytes[i]
  • 所以按造這個邏輯寫個迴圈即可得到flag.content
  • (啊我懶得再打一變格式的東西所以就一起解決了
    https://ithelp.ithome.com.tw/upload/images/20240928/201641557lQvilIqie.png
  • 格式:picoCTF{flag.content}

題目:speeds and feeds

hint:What language does a CNC machine use?

簡單介紹(我也是上網查的,別以為我很聰明(其實沒有人覺得🫠🫠

CNC是電腦數值控制工具機(Computer Numerical Control)的簡稱
他使用的程式語言為:
https://ithelp.ithome.com.tw/upload/images/20240928/20164155LPvRfj2gbe.png
再往下滑看一下G代碼的基本語法
https://ithelp.ithome.com.tw/upload/images/20240928/20164155rWaYkWd6kg.png
在這裡簡單知道一下在幹嘛就好
解題思路:

  • 直接找complier onlie
  • 複製程式碼貼上並執行大概就可以了
  • (我這裡選的是https://ncviewer.com/這個complier
  • 並按執行旁邊的flag就出現了
  • 我是覺得這題蠻新穎的啦
  • 格式:picoCTF{flag.picture}

其實別看這題很簡單,我還去上網找別人的write up欸,因為我以為他要我自己解密,自己動手畫,我還在想要真的把3D圖都搓出來嗎(🤣🤣,結果看到線上編輯器,馬上就知道我在耍憨了(嘿嘿嘿~~~


上一篇
picoCTF 刷題分享---Day 18(刷題去)
下一篇
picoCTF 刷題分享---Day 20(刷題去)
系列文
picoCTF 刷題分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言